package org.jeecg.modules.demo.puInvoice.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.demo.advancesReceived.entity.YxAdvancesReceived;
import org.jeecg.modules.demo.puInvoice.entity.PuInvoice;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @Description: pu_invoice
 * @Author: jeecg-boot
 * @Date:   2021-12-16
 * @Version: V1.0
 */
public interface IPuInvoiceService extends IService<PuInvoice> {

    public String getMaxCode();

    public PuInvoice getByNumber(String number);

    public List<String> selectByPusNo(String pusNo);

    public boolean addInvoice(PuInvoice puInvoice,String precode);

    public boolean editInvoice(PuInvoice puInvoice,String precode);

    public boolean deleteById(PuInvoice puInvoice);

    public boolean addSettlementInvoice(PuInvoice puInvoice,String precode);

    public Page<PuInvoice> getList(Page<PuInvoice> page,PuInvoice puInvoice);

    List<PuInvoice> getDataByNumber(String str);

    List<PuInvoice> getByPoOrder(String str);

    List<PuInvoice> getBywoNo(String woNo);

    List<PuInvoice> getYkpByPoOrder(String poOrder);

    Map<String, BigDecimal> getNumByOrderAndLX(String str);

    List<PuInvoice> getPaymentJob(String parameter);

    String getDepartId();

    boolean checkInvoice(PuInvoice puInvoice);
    boolean unCheckInvoice(PuInvoice puInvoice);

    Map<String,Double> getYFData(String str);

    List<YxAdvancesReceived> getYfByPoOrder(String str);
}
